一个列中多行求和 您所在的位置:网站首页 POWER QUERY 分组累计 List 一个列中多行求和

一个列中多行求和

2023-10-05 23:39| 来源: 网络整理| 查看: 265

7ff67e8446c458fa69f7d4b53a10c3a7.png

bc8ac181e506e19a588bb1b9bb72408c.png

在使用PowerQuery处理数据的过程中,有时我们需要对行值进行求和计算。比如下图的数据表,除年份外其他每列是不同的费用类型,我们需要基于此表计算出不同年份的营运费用及总费用,如何实现呢?

c52ad261d9ee04bda74a7f33774b9ee8.png

关于营运费用(市场费用、销售费用及营业费用)的计算实现,我们可以采用下列两种方法。第一种,点击创建自定义列,在公式栏输入List.Sum函数及三个计算列名即可,计算公式和结果如下图。

65c3d864a3fe62ed1d911950071ebc66.png

f7c66cd4d01393372a4ff174ce6a597a.png

第二种,点击创建自定义列,在公式栏输入下图中的公式,我们会用到List.Sum、Record.ToList及Record.SelectFields等三个函数的嵌套。Record.SelectFields函数获取计算列的值,Record.ToList函数将值转化为list,后由List.Sum函数进行求和。

f925e05a4aa49c06066f51ce0606a8fa.png

18056e3b8d3ed0ab3a52f9053b8386f7.png

第一种方法简单直白,简单数据建议使用这种方法,但采用此法如若出现错误不易查找原因。第二种方法首先通过Record.ToList函数和Record.Selected函数创建新的list列(如下图),之后用List.Sum函数对list列进行求和计算,计算list列的过程可以检查list值是否准确,在数据比较复杂的情况下推荐使用这种方法。

bea40e4308968dab8f5664ac81ea844c.png

接下来需要计算总费用,首先我们可以采用前两者的方法,将列名一一输入到公式中便可以计算出来求和值。但时如果我们遇到比较多的列需要计算的话,上述方法会显得非常繁琐,而且比较容易出错。所以这里我们用到第三种方法,具体实现步骤可分为三个步骤。第一步:复制一张数据表,将新表中非计算列删除。

65824aec62cd66220977deac6d4fd8d2.png

a948902f64faf7db5cf8dc215954e97c.png

第二步,创建自定义列并输入下图中的公式。公式中Record.ToList函数括号内下划线代表所有列值,确认之后将自动计算所有行的求和值即总费用。

d329dde21492d8d6a1891d9b8e3c9118.png

4a192b989efb09c330780c418b31bd30.png

第三步,在原表中选择合并查询,将计算的总费用列合并到原表中。合并查询过程我们需要选择一个相同的列,并选择合适的联接种类,具体操作步骤如下图。

5f4f1a63c469b42c10978b5b6aa324b1.png

61c188b8b5d11910c4a4fde67c2c427b.png

4c2b498170868d1b1b1d58f41e6faf38.png

最后,只需将查询列中的总费用列勾选展开即可添加到原表中,这样我们就轻松实现了部分费用列和全部费用列的求和计算。怎么样,你学会了吗?如需获取案例数据,请至公众号回复暗号【多行求和】下载即可。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有